#pragma once
/*
@author TriLVH
@description management contra state
*/

#include "ContraStateInterface.h"

class ContraStateOnLand : public ContraStateInterface {

public:
	/* Constructor to map contra data from contra entity*/
	ContraStateOnLand(ContraData* data) {
		_data = data;
	}

	/* Contra stand state */
	virtual void stand();

	/* Contra stand up state */
	virtual void standUp();

	/* Contra move right state */
	virtual void moveRight();

	/* Contra move left state */
	virtual void moveLeft();

	/* Contra fire state */
	virtual void fire();

	virtual void fireOnFly();

	/* Contra fire on sit */
	virtual void fireSit();

	/* Contra fire cross down */
	virtual void fireCrossDown();

	/* Contra fire cross up */
	virtual void fireCrossUp();

	/* Contra fire up state */
	virtual void fireUp();

	/* Contra sit state*/
	virtual void sit();

	/* Contra update state */
	virtual void update();
	bool isAlpha;
	/* Draw current contra state */
	virtual void draw(long time);

	/* Contra fly state */
	virtual void fly();

	/* Contra fly left state */
	virtual void flyLeft();

	/* contra fly right state */
	virtual void flyRight();

	/**/
	virtual void firstOnLand();
};